// 引入在线文本编辑器
const E = window.wangEditor
const editor = new E('#content')

// 获取textarea标签对象
const $text1 = $('#text1')

// 监听在线文本编辑器内容的改变
editor.config.onchange = function(html) {
    // 第二步，监控变化，同步更新到 textarea
    $text1.val(html)
}

// 设置上传的图片以base64的字符串保存在本地
editor.config.uploadImgShowBase64 = true
editor.create()

// layui的操作
layui.use(['form', 'upload'], function() {
    var form = layui.form;
    var upload = layui.upload;
    var layer = layui.layer;
    // 实现文件上传

    upload.render({
        elem: '#test1', //绑定元素
        url: '/upload/', //上传接口
        accept: 'images', // 只允许上传图片
        done: function(res) {
            //上传完毕回调
            if (res.status === 200) {
                $('#preview_picture').attr('src', res.data).show()
                $('#upload_picture').val(res.data)
            } else {
                layer.msg(res.msg, {
                    icon: 5,
                    time: 3000
                })
            }
        },
        error: function(err) {
            //请求异常回调
            console.log(err)
        }
    });

    // 定义验证规则
    form.verify({
        checkPicture: function(value) {
            if (value.trim().length === 0) {
                return '必须先上传文件再提交'
            }
        },
        checkContent: function(value) {
            if (value.trim().length === 0) {
                return '新闻内容不能为空'
            }
        }
    })


    //提交
    form.on('submit(formDemo)', function(data) {
        // 接收表单数据
        // 发送网络请求
        axios({
            method: 'POST',
            url: '/news',
            data: data.field
        }).then(res => {
            console.log(res);
            if (res.data.status !== 200) {
                return layer.msg('添加失败，请重新添加', {
                    icon: 5,
                    time: 3000
                })
            }
            return layer.msg('添加成功', {
                icon: 6,
                time: 1000
            }, function() {
                // 仅仅只能关闭打开的iframe层，但是页面数据并没有刷新
                var index = parent.layer.getFrameIndex(window.name); //先得到当前iframe层的索引
                parent.layer.close(index); //再执行关闭
            })

        }).catch(err => {
            console.log(err.message);
        })

        return false;
    });
});